﻿/*
 * 版 本 v1.0
 * Copyright (c) 2013-2018 广州市同慧信息科技有限公司
 * 创建人：ftquan
 * 日 期：2017.04.18
 * 描 述：查看项目
 */

var keyValue = '';

var bootstrap = function ($, learun) {
    "use strict";

    var selectedRow = config.getParent(learun).selectedRow;
    var companyId;
    var startTime;
    var endTime;


    var page = {
        init: function () {
            page.bind();
            page.initData();
        },
        bind: function () {
            //项目类别
            $('#category').lrDataItemSelect({code: 'ProjectCategorys'});
            //项目属性
            $('#attribute').lrDataItemSelect({code: 'ProjectLevels'});
            //项目性质
            $('#nature').lrDataItemSelect({code: 'ProjectExistenceStatus'});
            $('#departmentId').lrDepartmentSelect({companyId: '', maxHeight: 100});
            // 单位选择
            $('#companyId').lrselect({
                type: 'tree',
                // placeholder: '请选择机构',
                height: 200,
                maxHeight: 200,
                // 是否允许搜索
                //allowSearch: true,
                select: function (item) {
                    if (item && item.value != '-1') {
                        companyId = item.value;
                        // 负责部门
                        $('#departmentId').lrDepartmentSelect({companyId: companyId, maxHeight: 100});
                    }
                }
            });
            $('#companyId').lrselectRefresh({
                // 访问数据接口地址
                url: config.base_server() + 'companys/tree?access_token=' + config.getToken().access_token,
                // 访问数据接口参数
                param: {parentId: '0'}
            }).lrselectSetFirst();

            $('#planTime').lrdate({
                dfdata: [
                    {
                        name: '近1个月', begin: function () {
                            return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1)
                        }, end: function () {
                            return learun.getDate('yyyy-MM-dd 23:59:59')
                        }
                    },
                    {
                        name: '近3个月', begin: function () {
                            return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3)
                        }, end: function () {
                            return learun.getDate('yyyy-MM-dd 23:59:59')
                        }
                    },
                    {
                        name: '近1年', begin: function () {
                            return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -12)
                        }, end: function () {
                            return learun.getDate('yyyy-MM-dd 23:59:59')
                        }
                    },
                ],
                // 月
                mShow: false,
                premShow: false,
                // 季度
                jShow: false,
                prejShow: false,
                // 年
                ysShow: false,
                yxShow: false,
                preyShow: false,
                yShow: false,
                // 默认
                dfvalue: '2',
                selectfn: function (begin, end) {
                    startTime = begin;
                    endTime = end;
                }
            });

            $('#gridTable').css("width", $('.lr-form-wrap').width() - 60);

            //加载明细计划表格
            page.initGridDetail();
            //加载明细计划表格
            page.initGridTarget();

            $('#filesPolicy').lrUploader({isView: false});
            $('#filesOther').lrUploader({isView: false});

            //禁用输入框自动填充
            $("input[type='text']").each(function (index) {
                this.autocomplete = "off";
            });

            //只读
            $('#form').find('input,textarea,select').attr('disabled', 'disabled');
            $('#lrUploader_uploadBtn_files').hide();
        },
        initData: function () {
            if (!!selectedRow) {
                keyValue = selectedRow.applyBillid;
                $.lrSetForm(config.base_server() + 'projectapplys/findById?id=' + keyValue, function (data) {
                    if (data != null) {
                        $('#form').lrSetFormData(data);
                        //$("#processCode").html(data.processCode);

                        $('#gridtable_detail').jfGridSet('refreshdata', data.details);
                        if (data.details.length < 6) {
                            for (var i = data.details.length; i < 6; i++) {
                                $('#gridtable_detail').jfGridSet('addRow', {});
                            }
                        }
                        $('#gridtable_target').jfGridSet('refreshdata', data.targets);
                        if (data.targets.length < 6) {
                            for (var i = data.targets.length; i < 6; i++) {
                                $('#gridtable_target').jfGridSet('addRow', {});
                            }
                        }

                        $('#departmentId').lrselectSet(data.departmentId);
                    }
                });
            }
        },
        //加载明细计划表格
        initGridDetail: function () {
            $('#gridtable_detail').jfGrid({
                headData: [
                    {
                        label: '项目明细名称', name: 'name', width: 120, align: 'center',
                        edit: {
                            type: 'input'
                        }
                    },
                    {
                        label: '项目开支内容', name: 'content', width: 120, align: 'center',
                        edit: {
                            type: 'input'
                        }
                    },
                    {
                        label: '计量单位', name: 'unit', width: 60, align: 'center',
                        edit: {
                            type: 'input'
                        }
                    },
                    {
                        label: '单价', name: 'price', width: 90, align: 'center',
                        formatter: function (cellvalue) {
                            return $.formatMoney(cellvalue, 2);
                        },
                        edit: {
                            type: 'number',
                            change: function (data, num) {// 行数据和行号
                                if (!!data.count) {
                                    data.money = data.price * data.count;
                                    $('#gridtable_detail').jfGridSet('updateRow', num);
                                }
                            }
                        }
                    },
                    {
                        label: '采购数量', name: 'count', width: 60, align: 'center',
                        edit: {
                            type: 'number',
                            init: function (data, $edit) {// 在点击单元格的时候触发，可以用来初始化输入控件，行数据和控件对象
                            },
                            change: function (data, num) {// 行数据和行号
                                if (!!data.count) {
                                    data.money = data.price * data.count;
                                    $('#gridtable_detail').jfGridSet('updateRow', num);
                                }
                            }
                        }
                    },
                    {
                        label: '总价', name: 'money', width: 90, align: 'center', statistics: true,
                        formatter: function (cellvalue) {
                            return $.formatMoney(cellvalue, 2);
                        },
                    },
                    {
                        label: '项目执行时间', name: 'actionTime', width: 100, align: 'center',
                        edit: {
                            type: 'datatime',
                            dateformat: '0',       // 0:yyyy-MM-dd;1:yyyy-MM-dd HH:mm,格式
                            init: function (data, $edit) {// 在点击单元格的时候触发，可以用来初始化输入控件，行数据和控件对象
                            },
                            change: function (data, num) {// 行数据和行号
                            }
                        }
                    },
                    {
                        label: '项目测算依据或说明', name: 'remark', width: 100, align: 'left',
                        edit: {
                            type: 'input',
                        }
                    }
                ],
                isEdit: true,
                isMultiselect: true,
                // onAddRow: function (row, rows) {//行数据和所有行数据
                //
                // },
                // onMinusRow: function (row, rows) {//行数据和所有行数据
                //
                // },
                // beforeMinusRow: function (row) {// 行数据 返回false 则不许被删除
                //     return true;
                // }
            });
            $('#gridtable_detail').jfGridSet('addRow', {});
            $('#gridtable_detail').jfGridSet('addRow', {});
            $('#gridtable_detail').jfGridSet('addRow', {});
            $('#gridtable_detail').jfGridSet('addRow', {});
            $('#gridtable_detail').jfGridSet('addRow', {});
            $('#gridtable_detail').jfGridSet('addRow', {});
        },

        //加载项目绩效目标表格
        initGridTarget: function () {
            $('#gridtable_target').jfGrid({
                headData: [
                    {
                        label: '一级指标', name: 'first', width: 160, align: 'center',
                        edit: {
                            type: 'select',
                            init: function (data, $edit) {// 在点击单元格的时候触发，可以用来初始化输入控件，行数据和控件对象

                            },
                            change: function (data, num, selectrow) {// 行数据和行号
                                if (data.columnKey == "1") {
                                    data.isNullable = '0';
                                    $('#gridtable').jfGridSet('updateRow', num);
                                }
                            },
                            op: {// 下拉框设置参数 和 lrselect一致
                                data: [
                                    {'id': '产出指标', 'text': '产出指标'},
                                    {'id': '效益指标', 'text': '效益指标'}
                                ]
                            }
                        }
                    },
                    {
                        label: '二级指标', name: 'second', width: 120, align: 'center',
                        edit: {
                            type: 'input'
                        }
                    },
                    {
                        label: '三级指标', name: 'three', width: 120, align: 'center',
                        edit: {
                            type: 'input'
                        }
                    },
                    {
                        label: '实施周期指标值', name: 'implTarget', width: 120, align: 'center',
                        edit: {
                            type: 'input'
                        }
                    },
                    {
                        label: '年度指标值', name: 'yearTarget', width: 120, align: 'center',
                        edit: {
                            type: 'input'
                        }
                    },
                    {
                        label: '备注', name: 'remark', width: 120, align: 'left',
                        edit: {
                            type: 'input',
                        }
                    }
                ],
                isEdit: true,
                isMultiselect: true,
                // onAddRow: function (row, rows) {//行数据和所有行数据
                //
                // },
                // onMinusRow: function (row, rows) {//行数据和所有行数据
                //
                // },
                // beforeMinusRow: function (row) {// 行数据 返回false 则不许被删除
                //     return true;
                // }
            });
            $('#gridtable_target').jfGridSet('addRow', {});
            $('#gridtable_target').jfGridSet('addRow', {});
            $('#gridtable_target').jfGridSet('addRow', {});
            $('#gridtable_target').jfGridSet('addRow', {});
            $('#gridtable_target').jfGridSet('addRow', {});
            $('#gridtable_target').jfGridSet('addRow', {});
        },
    };

    page.init();
}
